﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace Onshi.POS.AccesoDatos.Interfaces
{
    public interface IServicioDatosClientes
    {
        #region Metodos

        DataSet Clientes_DevolverTodos(Boolean incluirImagen);
        DataSet Clientes_DevolverPorId(Int32 idCliente, Boolean incluirImagen);
        DataSet Clientes_DevolverPorCodigo(String codigo, Boolean incluirImagen);
        Int32 Clientes_Insertar(Int32 idRubroCliente, Byte idTipoIva, Int32 idListaPrecioVenta, Int32 idVendedor, String codigo, String nombre, Decimal limiteDeuda, String cuit, String email, String sitioWeb, String observaciones, Byte[] imagen);
        void Clientes_Modificar(Int32 idCliente, Int32 idRubroCliente, Byte idTipoIva, Int32 idListaPrecioVenta, Int32 idVendedor, String codigo, String nombre, Decimal limiteDeuda, String cuit, String email, String sitioWeb, String observaciones, Byte[] imagen, Boolean estaEliminado);
        void Clientes_ModificarRubroCliente(Int32 idRubroClienteNuevo, Int32 idRubroClienteViejo);
        void Clientes_ModificarVendedor(Int32 idVendedorNuevo, Int32 idVendedorViejo);

        Int32 DomiciliosClientes_Insertar(Int32 idCliente, Byte idTipoDomicilio, Int32 idBarrio, String calle, String numero, String piso, String departamento);
        void DomiciliosClientes_EliminarPorCliente(Int32 idCliente);
        void DomiciliosClientes_ModificarBarrio(Int32 idBarrioNuevo, Int32 idBarrioViejo);

        Int32 TelefonosClientes_Insertar(Int32 idCliente, Byte idTipoTelefono, String codigoArea, String numero);
        void TelefonosClientes_EliminarPorCliente(Int32 idCliente);

        void ClientesTiposFormasPagos_EliminarPorCliente(Int32 idCliente);
        void ClientesTiposFormasPagos_Insertar(Int32 idCliente, Byte idTipoFormaPago);

        void ClientesCamposPersonalizadosClientes_EliminarPorCliente(Int32 idCliente);
        void ClientesCamposPersonalizadosClientes_Insertar(Int32 idCliente, Int32 idCampoPersonalizadoCliente, String valor);
        void ClientesCamposPersonalizadosClientes_EliminarPorCampoPersonalizadoCliente(Int32 idCampoPersonalizadoCliente);

        #endregion
    }
}
